Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Fundamentos de la programación (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

Lenguaje ensamblador
Nemotécnicos para los códigos hexadecimales:
A0 ? READ 3E ? REG 1D ? ADD …
Mayor legibilidad:
READ 2FREG 01 READ 30REG 02 ADD WRITE 31
Lenguaje de nivel medio
Página 13
(Gp:) Código objeto(lenguaje máquina)

(Gp:) Programa ensamblador

Código fuente(lenguaje ensamblador)

Monografias.com

Fundamentos de la programación
Página 14
Lenguajes de programaciónde alto nivel

Monografias.com

Lenguajes de programación de alto nivel
Más cercanos a los lenguajes natural y matemático
resultado = dato1 + dato2;
Mayor legibilidad, mayor facilidad de codificación
Estructuración de datos / abstracción procedimental
Página 15
Pascal
C++
C
Ada
Eiffel
Ruby
Cobol

BASIC
FORTRAN
Simula
Smalltalk
Prolog
Lisp
Java
Python
Haskell
C#

Monografias.com

Lenguajes de programación de alto nivel
Traducción

Compiladores:Compilan y enlazanprogramas completos

Intérpretes:Compilan, enlazany ejecutan instruccióna instrucción

Página 16
(Gp:) Compilador

(Gp:) Enlazador

(Gp:) Códigoobjeto debiblioteca

(Gp:) Código fuente
(Gp:) #include < iostream>
using namespace std;

int main()
{
cout < < "Hola Mundo!" < < endl;
return 0;
}

(Gp:) Código objeto
(Gp:) 0100010100111010011100…

(Gp:) Programaejecutable
(Gp:) Para una arquitectura concretay un sistema operativo

Monografias.com

Los lenguajes de programación de alto nivel
Genealogía de lenguajes
Página 17
(Gp:) BASIC1964

(Gp:) Logo1968

(Gp:) Ruby1993

(Gp:) Python1991

(Gp:) Eiffel1986

(Gp:) Modula1975

Fuente:http://www.levenez.com/lang/
Versiones / Estándares
Prolog1970
Haskell1987
(Gp:) C#2000

(Gp:) Java1995

(Gp:) C++1983

(Gp:) Smalltalk1971

(Gp:) Scheme1975

(Gp:) PL/I1964

(Gp:) Simula1964

(Gp:) Ada1979

(Gp:) C1971

(Gp:) Pascal1970

(Gp:) CPL1963

COBOL1959
(Gp:) ALGOL1958

FORTRAN1954
Lisp1958

Monografias.com

Fundamentos de la programación
Página 18
Un poco de historia

Monografias.com

Un poco de historia
La prehistoria
El ábaco
Siglo XIX
Máquina analítica de Charles Babbage
Página 19
Lady Ada Lovelacees consideradala primeraprogramadora
(Gp:) (Wikipedia)

Monografias.com

Un poco de historia
Siglo XX
1936 Máquina de Turing
1946 ENIAC: Primera computadora digitalde propósito general
1947 El transistor
1953 IBM 650: Primeracomputadora a gran escala
1966 ARPANET: Origen de Internet
1967 El disquete
1970 Sistema operativo UNIX
1972 Primer virus informático (Creeper)Lenguaje de programación C
1974 Protocolo TCP. Primera red local
Página 20
(Gp:) ENIAC (Wikipedia)

Monografias.com

Un poco de historia

1975 Se funda Microsoft
1976 Se funda Apple
1979 Juego Pacman
1981 IBM PCSistema operativo MS-DOS
1983 Lenguaje de programación C++
1984 CD-ROM
1985 Windows 1.0
1990 Lenguaje HTMLWorld Wide Web
1991 Sistema operativo Linux
Página 21
(Gp:) Apple II (Wikipedia)

(Gp:) IBM PC (Wikipedia)

(Gp:) Linux

Monografias.com

Un poco de historia
1992 Windows 3.1
1995 Lenguaje de programación JavaDVD
1998 Se funda Google
1999 MSN Messenger
Siglo XXI
2001 Windows XP Mac OS X
2002 Mozilla Firefox
2007 iPhone
2008 Android …

Página 22

Monografias.com

Fundamentos de la programación
Página 23
Programacióne Ingeniería del Software

Monografias.com

¿Qué es programar?
Decirle a un tonto muy rápido exactamente lo que tiene que hacer
Especificar la estructura y el comportamiento de un programa, así como probar que el programa realiza su tarea adecuadamente y con un rendimiento aceptable
Programa: Transforma entrada en salida

Algoritmo: Secuencia de pasos y operaciones que debe realizar el programa para resolver el problema
El programa implementa el algoritmo en un lenguaje concreto
(Gp:) Salida

(Gp:) Programa

Programa informático
Página 24
Entrada

Monografias.com

La Ingeniería del Software
La programación es sólo una etapa del proceso de desarrollo
Modelo de desarrollo “en cascada”:
Página 25
(Gp:) Mantenimiento

(Gp:) Prueba y depuración

(Gp:) Programación

(Gp:) Diseño

(Gp:) Análisis

Planificación
Recursos necesarios, presupuesto, plan, …
¿Qué?
¿Cómo?
Implementación

Monografias.com

Fundamentos de la programación
Página 26
El lenguaje de programación C++

Monografias.com

El lenguaje de programación C++
Bjarne Stroustrup (1983)

#include < iostream>
using namespace std;

int main()
{
cout < < "Hola Mundo!" < < endl;
// Muestra Hola Mundo!

return 0;
}
Página 27
Hola Mundo!

Monografias.com

Elementos del lenguaje
Instrucciones
Datos: literales, variables, tipos
Subprogramas (funciones)
Comentarios
Directivas

Página 28
#include < iostream>
using namespace std;

int main()
{
cout < < "Hola Mundo!" < < endl;
// Muestra Hola Mundo!

return 0;
}
Directiva
Subprograma
Comentario
(Gp:) Instrucción
(Gp:) Instrucción

(Gp:) Dato
(Gp:) Dato

Monografias.com

Fundamentos de la programación
Página 29
Sintaxis de los lenguajesde programación

Monografias.com

Los lenguajes de programación
Sintaxis y semántica de los lenguajes
Sintaxis
Reglas que determinan cómo se pueden construir y secuenciar los elementos del lenguaje

Semántica
Significado de cada elemento del lenguaje¿Para qué sirve?

Página 30

Monografias.com

Sintaxis de los lenguajes de programación
Especificación
Lenguajes (BNF)
Diagramas
Página 31
(Gp:) < numero entero> ::= < signo opcional>< secuencia de dígitos>
< signo opcional> ::= +|-|< nada>
< secuencia de dígitos> ::= < dígito>|< dígito>< secuencia de dígitos>
< dígito> ::= 0|1|2|3|4|5|6|7|8|9
< nada> ::=
(Gp:) BNF
(Gp:) | significa ó

+23 ?
-159 ?
1374 ?
1-34 ?
3.4 ?
002 ?
Ejemplo: Números enteros (sin decimales)
(Gp:) +
(Gp:) 0 .. 9
(Gp:) –

Monografias.com

Backus-Naur Form (BNF)
Página 32
< numero entero> ::= < signo opcional>< secuencia de dígitos>
< signo opcional> ::= +|-|< nada>
< secuencia de dígitos> ::= < dígito>|< dígito>< secuencia de dígitos>
< dígito> ::= 0|1|2|3|4|5|6|7|8|9
< nada> ::=
+23
< numero entero> ::= < signo opcional>< secuencia de dígitos>
::= +< secuencia de dígitos> ::= +< dígito>< secuencia de dígitos>
::= +2< secuencia de dígitos> ::= +2< dígito> ::= +23
1374
< numero entero> ::= < signo opcional>< secuencia de dígitos>
::= < secuencia de dígitos> ::= < dígito>< secuencia de dígitos>
::= 1< secuencia de dígitos> ::= 1< dígito>< secuencia de dígitos>
::= 13< secuencia de dígitos> ::= 13< dígito>< secuencia de dígitos>
::= 137< secuencia de dígitos> ::= 137< dígito> ::= 1374
1-34
< numero entero> ::= < signo opcional>< secuencia de dígitos>
::= < secuencia de dígitos> ::= < dígito>< secuencia de dígitos>
::= 1< secuencia de dígitos> ::= ERROR (- no es < dígito>)
?
?
?

Monografias.com

Diagramas de sintaxis
Página 33
+
2
3
?
1
3
7
?
4
1

?
?
+23
1374
1-34
+
0 .. 9
+
+



0 .. 9
0 .. 9

Monografias.com

Fundamentos de la programación
Página 34
Un primer programa en C++

Monografias.com

Un primer programa en C++
Hola Mundo!
Un programa que muestra un saludo en la pantalla:
#include < iostream>
using namespace std;

int main()
// main() es donde empieza la ejecución
{
cout < < "Hola Mundo!" < < endl; // Muestra Hola Mundo!

return 0;
}
Página 35

Monografias.com

Un primer programa en C++
Análisis del programa

#include < iostream>
using namespace std;

int main()
{
cout < < "Hola Mundo!" < < endl;

return 0;
}
Página 36
Las instrucciones terminan en ;
Directiva
Instrucción
Declaración
Instrucción
Instrucción
(Gp:) Biblioteca

(Gp:) Espacio de nombres

(Gp:) Palabras reservadas

(Gp:) Tipo

(Gp:) Datos literales

(Gp:) Cuerpo de la función

(Gp:) Cabecera de la función

(Gp:) Bloque de código

Cadena de caracteres
Constante
Operador
Operador
Variable
Número
Coloreado sintáctico

Monografias.com

Un primer programa en C++
Hola Mundo!
Casi todo es infraestructura
Sólo
cout < < "Hola Mundo!" < < endl
hace algo palpable
La infraestructura (notación, bibliotecas y otro soporte) hace nuestro código simple, completo, confiable y eficiente
¡El estilo importa!
Página 37

Monografias.com

Fundamentos de la programación
Página 38
Herramientas de desarrollo

Monografias.com

Herramientas de desarrollo
Editor
Bloc de notas, Wordpad, Word, Writer, Gedit, Kwrite, …(texto simple, sin formatos)
Editores específicos: coloreado sintáctico
Recomendación: Notepad++
Página 39
Instalación y uso:SecciónHerramientas de desarrolloen el Campus Virtual

Monografias.com

Compilación, enlace y ejecución

Página 40
hola.cpp(código fuente)
(Gp:) hola.obj(código objeto)
(Gp:) Compilador

(Gp:) Código objeto dela biblioteca iostream

(Gp:) hola.exe(ejecutable)

(Gp:) Enlazador

(Gp:) Hola Mundo!
(Gp:) Cargador

Monografias.com

Más herramientas de desarrollo
Compilador
Importante: C++ estándar
Recomendación: GNU G++ (MinGW en Windows)

Página 41
Instalación y uso:SecciónHerramientas de desarrolloen el Campus Virtual

Monografias.com

Más herramientas de desarrollo
Entornos de desarrollo
Para editar, compilar y probar el código del programa
Recomendaciones:
Windows: MS Visual Studio / C++ Express o Eclipse
Linux: Netbeans o Eclipse

Página 42
Instalación y uso:SecciónHerramientas de desarrolloen el Campus Virtual

Monografias.com

Un primer programa en C++: ejecución
¿Qué hace el programa?
La ejecución del programa siempre empieza en main()
Se ejecutan las instrucciones en secuencia de principio a fin

Página 43
_
Hola Mundo!
Pantalla (cout)
_
Muestra Hola Mundo!en la pantalla y salta de línea
Devuelve 0 como códigode terminación del programa
(Gp:) Fin

(Gp:) return 0;

(Gp:) cout < < "Hola Mundo!" < < endl;

Inicio

Monografias.com

Fundamentos de la programación
Página 44
C++: Un mejor C

Monografias.com

C++: Un mejor C
El lenguaje C
Lenguaje creado por Dennis M. Ritchie en 1972
Lenguaje de nivel medio:
Estructuras típicas de los lenguajes de alto nivel
Construcciones para control a nivel de máquina
Lenguaje sencillo (pocas palabras reservadas)
Lenguaje estructurado (no estrictamente estructurado en bloques)
Compartimentalización de código (funciones) y datos (ámbitos)
Componente estructural básico: la función (subprograma)
Programación modular
Distingue entre mayúsculas y minúsculas
Palabras reservadas (o clave): en minúsculas
Página 45

Monografias.com

Acerca de Creative Commons
Licencia CC (Creative Commons)
Este tipo de licencias ofrecen algunos derechos a terceras personas bajo ciertas condiciones.
Este documento tiene establecidas las siguientes:

Pulsa en la imagen de arriba a la derecha para saber más.
Página 46
Reconocimiento (Attribution): En cualquier explotación de la obra autorizada por la licenciahará falta reconocer la autoría.
No comercial (Non commercial): La explotación de la obra queda limitada a usos no comerciales.
Compartir igual (Share alike):La explotación autorizada incluye la creación de obras derivadas siempre que mantengan la misma licencia al ser divulgadas.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter